package com.bw.day03.utlis

import android.content.Context
import com.alibaba.android.arouter.facade.Postcard
import com.alibaba.android.arouter.facade.annotation.Interceptor
import com.alibaba.android.arouter.facade.callback.InterceptorCallback
import com.alibaba.android.arouter.facade.template.IInterceptor
import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.SPUtils
import com.bw.base.net.net.Cons
//登录拦截
@Interceptor(priority = 1)
class LoginInterceptor:IInterceptor {
    override fun init(context: Context?) {
        //初始化，一般不执行操作
    }

    override fun process(postcard: Postcard?, callback: InterceptorCallback?) {
        //所有的页面跳转（ARouter）均会走这个方法，如果里面不写内容，会直接卡住不动
        //是否需要登录 //默认主页相关的所有界面均需要登录 （注册页面、登录界面、富文本相关 不需要登录）
        //是否已经登录
        //不需要登录的界面 以及已经登录了的情况，是可以直接跳转到相应界面的， 其他情况需要跳转到登录界面
        if ("/app/LoginCodeActivity".equals(postcard?.path)||"/app/WebViewActivity".equals(postcard?.path)||SPUtils.getInstance().getString(Cons.SP_TOKEN).isNotEmpty()){
            callback?.onContinue(postcard)

        }else{
            ARouter.getInstance().build("/app/LoginCodeActivity").navigation()
        }

    }
}